package servlets;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import manager.AdministradorComanda;
import manager.AdministradorMesa;
import NegocioVO.ComandaVO;
import NegocioVO.MesaVO;


public class ControladorComanda extends HttpServlet {
	private static final long serialVersionUID = 1L;
      
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String action = request.getParameter("action");
         String jspPage = null;
        
        
         if ((action == null) || (action.length() < 1))
         {
             action = "default";
         }

         if ("default".equals(action))
         {
         	String cookieName = "userLocal";
         	Cookie cookies[] = request.getCookies();
         	Cookie myCookie = null;
         	String aux = null;
         	if (cookies != null) {
         		for (int i = 0; i < cookies.length; i++) {
         			if (cookies[i].getName().equals(cookieName)) {
         				myCookie = cookies[i];
         				break;
         			}
         		}
         	}
         	String LocalId;
         	LocalId = myCookie.getValue();
         	
         	List<ComandaVO> comandas = new ArrayList<ComandaVO>();
         	comandas = AdministradorComanda.getInstancia().getComandasAbiertas(LocalId);
			request.setAttribute("comandas", comandas);
            jspPage = "/jsp/CerrarComandas.jsp";
         }
         else if ("cerrarComandas".equals(action)){
         	String cookieName = "userLocal";
          	Cookie cookies[] = request.getCookies();
          	Cookie myCookie = null;
          	String aux = null;
          	if (cookies != null) {
          		for (int i = 0; i < cookies.length; i++) {
          			if (cookies[i].getName().equals(cookieName)) {
          				myCookie = cookies[i];
          				break;
          			}
          		}
          	}
          	String LocalId;
          	LocalId = myCookie.getValue();
          	
          	String[] cerrados = request.getParameterValues("checkbox");
       	 AdministradorComanda.getInstancia().cerrarComandas(cerrados);
       	 
       	 jspPage = "/jsp/ResultadoCerrarComandas.jsp";
          	
          }
          
		
         System.out.println(action);
         dispatch(jspPage, request, response);
	}
	
	
	
    protected void dispatch(String jsp, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        if (jsp != null)
        {
            RequestDispatcher rd = request.getRequestDispatcher(jsp);
            rd.forward(request, response);
        }
    }
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		 doPost(request, response);
	}

}
